package jetpack.com.pzl.architecture.room;

import androidx.room.Embedded;
import androidx.room.Junction;
import androidx.room.Relation;

import java.util.List;
////[对多多关系]  歌曲列表-歌曲

public class SongWithPlaylists {

    @Embedded
    public Song song;

    @Relation(
            parentColumn = "songId",
            entityColumn = "playlistId",
            associateBy = @Junction(PlaylistSongCrossRef.class)
    )

    public List<Playlist> playlists;

}


//如果您想查询播放列表和每个播放列表所含歌曲的列表，则应创建一个新的数据类，其中包含单个 Playlist 对象，以及该播放列表所包含的所有 Song 对象的列表。
//如果您想查询歌曲和每首歌曲所在播放列表的列表，则应创建一个新的数据类，其中包含单个 Song 对象，以及包含该歌曲的所有 Playlist 对象的列表。
//在这两种情况下，都可以通过以下方法在实体之间建立关系：在上述每个类中的 @Relation 注释中使用 associateBy 属性来确定提供 Playlist 实体与 Song 实体之间关系的交叉引用实体。
